## 总体技术架构描述

设计思想：扩展性、维护性、性能、可用性

![](https://img.wkq.pub/img/1280X1280.PNG)

基于 Spring Boot + Spring Cloud + MyBatis 的微服务敏捷开发框架、采用多租户管理模式、组件化模块化思想，具有统一授权认证中心、统一配置中心、独立的后台管理。支持 CI/CD 多环境部署。采用 k8s 虚拟容器化部署、统一的日志管理和监控平台。

1. 多数据源：通过简单配置实现同类型库间多数据源切换。
2. 扩展字段：支持基于数据模型的动态和静态扩展。
3. 功能权限：基于RBAC模式的权限实现。
4. 数据权限：多维度的数据权限配置以及数据过滤。
5. 导入导出：支持可配置的文件导入导出。
6. 上传下载：支持本地和第三方的分布式存储的文件上传和下载。
7. 消息推送：APP、短信、邮件、微信的消息推送技术封装。
8. 接口幂等性校验：分为客户端和服务端双重校验。
9. 业务流程：支持运输场景的业务流程节点可配。

## 子模块划分考虑

1. 高内聚、低耦合

2. 子系统内部的功能和数据要保持逻辑相关性；
3. 子系统间的功能耦合度较低、相对独立、数据依赖性较小、数据冗余较少
4. 子系统的划分还需要考虑到用户对功能的操作方便和系统性能等因素

